The type signature for .get_function is:
pub fn get_function(&self, name: &str) -> Option<&dyn Function2>
while .type_check is:
fn type_check(&self, args: &[PreExp], context: &mut TypeCheckerContext) -> Result<(), TransformError>
Is this because i'm getting the function ref from the context (immutable) and then calling the type_check which is mutable?
but i'm not using the ref afterwards, what could be the issue?
and also, how would i fix this