*/
import StdEnv, StdGeneric, GenBimap, _SystemStrictLists
+import Data.Functor
import Data.List
+import Data.Maybe
+
+consByName :: String -> Maybe a | conses{|*|}, consName{|*|} a
+consByName a = let cs = conses{|*|}
+ in ((!!) cs) <$> elemIndex a (map consName{|*|} cs)
+
generic consName a :: a -> String
consName{|CONS of {gcd_name}|} f x = gcd_name