code: def check_specs(specs, renamings, types):
      '''
      Does nothing but raising PythranSyntaxError if specs
      are incompatible with the actual code
      '''
      from pythran.types.tog import unify, clone, tr
      from pythran.types.tog import Function, TypeVariable, InferenceError
  
      functions = {renamings.get(k, k): v for k, v in specs.functions.items()}
      for fname, signatures in functions.items():
          ftype = types[fname]
          for signature in signatures:
              sig_type = Function([tr(p) for p in signature], TypeVariable())
              try:
                  unify(clone(sig_type), clone(ftype))
              except InferenceError:
                  raise PythranSyntaxError(
                      "Specification for `{}` does not match inferred type:\n"
                      "expected `{}`\n"
                      "got `Callable[[{}], ...]`".format(
                          fname,
                          ftype,
                          ", ".join(map(str, sig_type.types[:-1])))
                  f check_specs(specs, renamings, types):
      '''
      Does nothing but raising PythranSyntaxError if specs
      are incompatible with the actual code
      '''
      from pythran.types.tog import unify, clone, tr
      from pythran.types.tog import Function, TypeVariable, InferenceError
  
      functions = {renamings.get(k, k): v for k, v in specs.functions.items()}
      for fname, signatures in functions.items():
          ftype = types[fname]
          for signature in signatures:
              sig_type = Function([tr(p) for p in signature], TypeVariable())
              try:
                  unify(clone(sig_type), clone(ftype))
              except InferenceError:
                  raise PythranSyntaxError(
                      "Specification for `{}` does not match inferred type:\n"
                      "expected `{}`\n"
                      "got `Callable[[{}], ...]`".format(
                          fname,
                          ftype,
                          ", ".join(map(str, sig_type.types[:-1])))
                  )
docs: Does nothing but raising PythranSyntaxError if specs
      are incompatible with the actual code