finish TODOs for const/nonconst types, overload functions