I want to learn some math with haskell, so currently I want to get the math limit of a function in rust I did ```rust fn limit(f: impl Fn(f32) -> f32, l: f32, dir: Dir) -> f32 { let mut cursor = if matches!(Dir::R, dir) {l + 1.} else { l - 1.}; let mut f_val = None; loop { let new_f_val = f(cursor); if Some(new_f_val) == f_val { break new_f_val } cursor /= 10.; f_val = Some(new_f_val); } } ``` I'm not sure how to translate it to haskell, or if there is a builtin way to do it