```
if let result { return result.union(frame) }
else { return frame }
```
or
```
guard let result else { return frame }
return result.union(frame)
```
@RosaCtrl I prefer guards for the reasons described here: https://testing.googleblog.com/2017/06/code-health-reduce-nesting-reduce.html
The TotT series is a pretty good resource from the times people still cared.
@RosaCtrl ```
return (if let result { result } else { emptySet() }).union(frame)
@RosaCtrl
I'd say a "Model" describes types of entities, while an "entity" is an instance of a model.
Example: a blog may have a "Post model" (in general).
One specific deployment of a blog may have 1000 "Post entities" (i.e. instances of the Post model).
If a model is backed by a database, I'd use the terms "entity", "record" and "row" synonymously.
@RosaCtrl Multiplication by a floating point may reduce precision when the value is an integer. Double precision floating point can represent signed integers up to 53 bits, then you'll lose low bits.
Compilers are generally smart enough to optimise division by a constant anyway.
@RosaCtrl For some reason I get the ick anywhere I see a division operator, so many edge-cases.
I think what you want is >>1 :)