improving  some scalar linalg functors and adding some TODO comment regarding as_terminal and swap when available