MaybeDict type for diff opts
implement diff workdir when no index is provided
finish todo functionality in diff example