proc length*(self: RayShape): float64 {.gcsafe, locks: 0.}
proc `length =`*(self: RayShape; val: float64) {.gcsafe, locks: 0.}