Reuse ==>> instances if possible.

The `Tip` constructor is often pattern matched against and can just be used as the
return value instead of using a value constructor. Also, favor the use of
`empty` over `Tip()`.

Signed-off-by: Gary Pamparà <gpampara@gmail.com>