subtyping to inference