vElimEnum :: String -> String -> String -> String -> Value
vElimEnum _P pnil pcons xs = rElimEnum
  (fbind _P "xs")
  (var pnil)
  (fbind3 pcons "x" "xs" "pxs")
  (s2n xs)
vElimEnum :: String -> String -> String -> String -> Value
vElimEnum _P pnil pcons xs = rElimEnum
  (fbind _P "xs")
  (var pnil)
  (fbind3 pcons "x" "xs" "pxs")
  (s2n xs)
vElimEnum _P pnil pcons xs = rElimEnum
  (fbind _P "xs")
  (var pnil)
  (fbind3 pcons "x" "xs" "pxs")
  (s2n xs)