-- | applies the iota renaming to an operator map
iota_op_map :: OpMap -> OpMap
iota_op_map = MapSet.foldWithKey
  (\ op (OpType _ args res) -> MapSet.insert (mkFreeName op)
       $ mkTotOpType (map mkFreeName args) (mkFreeName res)) MapSet.empty
iota_op_map :: OpMap -> OpMap
iota_op_map = MapSet.foldWithKey
  (\ op (OpType _ args res) -> MapSet.insert (mkFreeName op)
       $ mkTotOpType (map mkFreeName args) (mkFreeName res)) MapSet.empty
iota_op_map = MapSet.foldWithKey
  (\ op (OpType _ args res) -> MapSet.insert (mkFreeName op)
       $ mkTotOpType (map mkFreeName args) (mkFreeName res)) MapSet.empty