···11+# | Discard the context of a string while ensuring that expected path
22+# validity invariants hold.
33+#
44+# This relies on import-from-derivation, but it is only useful in
55+# contexts where the string is going to be used in an
66+# import-from-derivation anyway.
77+#
88+# safeDiscardStringContext : String → String
99+{ writeText }: s:
1010+ builtins.seq
1111+ (import (writeText
1212+ "discard.nix"
1313+ "${builtins.substring 0 0 s}null\n"))
1414+ (builtins.unsafeDiscardStringContext s)