Module Ocaml_typing.AllowanceSource
Arrange the permissions appropriately for a positive lattice, by doing nothing.
Arrange the permissions appropriately for a negative lattice, by swapping left and right.
Source
module Magic_allow_disallow
(X : Allow_disallow) :
Allow_disallow with type ('a, 'b, 'd) sided = ('a, 'b, 'd) X.sidedTakes a slow but type-correct Allow_disallow module and returns the magic version, which is faster. NOTE: for this to be sound, the functions in the original module must be identity functions (up to runtime representation).