infer and do