adding const @safe nothrow where possible. can AA implementation be @safe nothrow? also added a debug names to entities