Convert surface normal to return by value, no need for allocation. Tidy up Boundary Surface implementations
Mentioning @sroe