.#

Strictly map the first argument argument contravariantly with a function that is assumed operationally to be a cast, such as a newtype constructor. Note: This operation is explicitly unsafe since an implementation may choose to use unsafeCoerce to implement this combinator and it has no way to validate that your function meets the requirements. If you implement this combinator with unsafeCoerce, then you are taking upon yourself the obligation that you don't use GADT-like tricks to distinguish values. If you import Data.Profunctor.Unsafe you are taking upon yourself the obligation that you will only call this with a second argument that is operationally identity.
(.#) ≡ \p -> p `seq` \f -> lmap coerce p
Composition operator where the second argument must be an identity function up to representational equivalence (e.g. a newtype wrapper or unwrapper), and will be ignored at runtime.
Infix synonym for pointNumIn.
Helper for applying functions on PlainUnion and SimpleMergeable.
>>> let f :: Integer -> Union Integer = \x -> mrgIf (ssym "a") (mrgSingle $ x + 1) (mrgSingle $ x + 2)

>>> f .# (mrgIf (ssym "b" :: SymBool) (mrgSingle 0) (mrgSingle 2) :: Union Integer)
{If (&& b a) 1 (If b 2 (If a 3 4))}
Get JSON object at specified path.
Get JSON object at specified path as text.