rec_fun, field_fun and const added