It seems like `visible == true` is effectively the same `marker !== undefined`. Is it worth removing to avoid confusion?