VFS
---
- do all the IO in one place
- pass file handles around

Interface
---------
- load files to be read as VFS
- path interner
- traits to go from Report to text/errfmt
- offline documentation/explaination for lints

Fix
---
- multipass runner with hare & tortoise for cycle detection
- fix all possible suggestions
- work with a config generated by CLI
- read data from VFS
- produce a Report

Analysis
--------
- work with a config generated by CLI
- read data from VFS
- produce a Report

Tests
-----
- figure out a way to generate stable singleline output for
  analysis tests
- use stderr tests for fixes

Lint ideas
----------
- unused let bindings
- unused rec
- invalid or potentially risky string interpolations
- useless parens in infix exprs
- unused function params
- manual map over list
- merge inherit
- merge inherit-from
- empty inherit
- useless antiquote/splice (where is antiquote truly
  required?)
- useless variadic (things like `{...} : expr`, replace with
  `_: expr`)
- redundant pattern `{...} @ inputs : expr`, replace with
  `inputs: expr`
- useless hasAttr: `if x ? a then x.a else default` can be
  replaced with `x.a or default`

Extensions
----------
- vim plugin to populate location list with errors