def remove_const(type_):
nake_type = remove_alias(type_)<EOL>if not is_const(nake_type):<EOL><INDENT>return type_<EOL><DEDENT>else:<EOL><INDENT>if isinstance(nake_type, cpptypes.array_t):<EOL><INDENT>is_v = is_volatile(nake_type)<EOL>if is_v:<EOL><INDENT>result_type = nake_type.base.base.base<EOL><DEDENT>else:<EOL><INDENT>result_type = nake_type.base.base<EOL><DEDENT>if is_v:<EOL><INDENT>result_type = cpptypes.volatile_t(result_type)<EOL><DEDENT>return cpptypes.array_t(result_type, nake_type.size)<EOL><DEDENT>elif isinstance(nake_type, cpptypes.volatile_t):<EOL><INDENT>return cpptypes.volatile_t(nake_type.base.base)<EOL><DEDENT>return nake_type.base<EOL><DEDENT>
removes const from the type definition

    If type is not const type, it will be returned as is