- decrypt a few sectors to verify the partition table, or provide a tool to try to guess the partition table or something
- delete outimages on error?
- don't show an error message on password.ErrInterrupted
- make a list of valid errors to call usage() on
- investigate firmware modules; will require direct ATA access
- Linux: not libata, check smartctl and hdparm source (http://stackoverflow.com/questions/17366515/executing-ata-commands-on-hdd-from-user-space-application-using-libata)
- Windows: DeviceIoControl(), just like the Unlock.exe tool
- OS X: requires a kernel module? https://developer.apple.com/library/content/qa/qa1179/_index.html
- others: not possible?
- switch to tv's cliutil?
- https://godoc.org/github.com/tv42/cliutil
- https://godoc.org/github.com/tv42/cliutil/flagx
- https://godoc.org/github.com/tv42/cliutil/subcommands
- https://godoc.org/github.com/tv42/cliutil/positional
- https://github.com/tv42/sinus
- https://github.com/tv42/sinus/blob/master/main.go
- https://github.com/tv42/sinus/blob/master/cli/cli.go
- https://github.com/tv42/cliutil/blob/master/positional/parse.go#L57 about wrapping types for positional