sig
  type env = TypeCore.var KindCheck.env
  val translate_type_reset :
    TransSurface.env -> SurfaceSyntax.typ -> TypeCore.typ
  val translate_data_type_group :
    (TransSurface.env -> SurfaceSyntax.type_binding list -> TransSurface.env) ->
    TransSurface.env ->
    SurfaceSyntax.data_type_group ->
    TransSurface.env * TypeCore.data_type_group
  val translate_implementation :
    TransSurface.env ->
    SurfaceSyntax.toplevel_item list -> ExpressionsCore.implementation
  val translate_interface :
    TransSurface.env ->
    SurfaceSyntax.toplevel_item list -> ExpressionsCore.interface
end