sig
  val build_type_constraints :
    Flx_mtypes2.sym_state_t ->
    (Flx_ast.typecode_t -> Flx_types.btypecode_t) ->
    Flx_ast.range_srcref ->
    (string * int * Flx_ast.tpattern_t) list -> Flx_types.btypecode_t
end