Change convertDynamic() return value from Result<? extends T> to Result<T>.
Remove unused import.
Switch all invokation methods from accepting Converter<? super S,? extends T> to Converter<S,? extends T> to prevent nullness errors due to type inference. Add additional @SuppressWarnings("unchecked") annotations where needed by Java 8.