isSubSig :: Sign -> Sign -> Bool
isSubSig s1 s2 = types s1 `Map.isSubmapOf` types s2
  && ops s1 `Map.isSubmapOf` ops s2
isSubSig :: Sign -> Sign -> Bool
isSubSig s1 s2 = types s1 `Map.isSubmapOf` types s2
  && ops s1 `Map.isSubmapOf` ops s2
isSubSig s1 s2 = types s1 `Map.isSubmapOf` types s2
  && ops s1 `Map.isSubmapOf` ops s2