pub fn synthesise_function_default_value<'a, T: ReadFromFS, A: ASTImplementation>(
    parameter_ty: TypeId,
    parameter_constraint: TypeId,
    environment: &mut Environment<'_>,
    checking_data: &mut CheckingData<'_, T, A>,
    expression: &'a A::Expression<'a>
) -> TypeId