C++14

Yes, it works.
No, it is slow :(
Geometry (failed :-1: )
Revert "Geometry (failed :-1: )"

This reverts commit 10c2fc66486aaf96d9996f94d0582fe8467eea36.
Revert "Revert "Geometry (failed :-1: )""

This reverts commit a3ca8bc11d611c630b488b1562054f1f753a0ee9.
Fixed geometry