module Language.LOL.Symantic.Repr.Dup where -- | Data type to duplicate an expression -- in order to evaluate it with different interpreters. -- -- NOTE: this is a more verbose and somehow less clear alternative -- to maintaining the universal polymorphism of @repr@ at parsing time. data Dup repr1 repr2 a = Dup { dup1 :: repr1 a , dup2 :: repr2 a }