You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: cleanup.rs
    path of file: ./repos/heimdall-rs/crates/common/src/ether/lexers
    
    the code of the file until where you have to start completion: use crate::{
    constants::{
        AND_BITMASK_REGEX, AND_BITMASK_REGEX_2, DIV_BY_
    
pub fn simplify_casts(line: &str) -> String {
    let mut cleaned = line.to_owned();

    // remove unnecessary casts
    let (cast_range, cast) = match find_cast(&cleaned) {
        Ok((cast_range, cast_type)) => (cast_range, cast_type),
        _ => return cleaned,
    };

    let cleaned_cast_pre = cleaned[0..cast_range.start - 1].to_string();
    let cleaned_cast_post = cleaned[cast_range.end + 1..].to_string();
    let cleaned_cast =
        cleaned[cast_range.start - 1..cast_range.end + 1].to_string().replace(&cast, "");

    cleaned = format!("{cleaned_cast_pre}{cleaned_cast}{cleaned_cast_post}");

    // check if there are remaining casts
    if find_cast(&cleaned_cast_post).is_ok() {
        // a cast is remaining, simplify it
        cleaned =
            format!("{}{}{}", cleaned_cast_pre, cleaned_cast, simplify_casts(&cleaned_cast_post));
    }

    cleaned
}