title: Flutter - type 'Future<dynamic>' is not a subtype of type 'FutureOr<String>'
body: <p>I'm getting this error: <code>type 'Future&lt;dynamic&gt;' is not a subtype of type 'FutureOr&lt;String&gt;'</code></p>
  <pre><code>void main() async {
    hello();
  }
  
  Future&lt;String&gt; hello() async {
    return dynamicHello(); // error : type 'Future&lt;dynamic&gt;' is not a subtype of type 'FutureOr&lt;String&gt;'
    return dynamicHello().then((value) =&gt; value); // working well
  }
  
  Future&lt;dynamic&gt; dynamicHello() async {
    return 'HELLO';
  }
  </code></pre>
  <p>can someone please explain me the difference between <code>return dynamicHello()</code> and <code>return dynamicHello().then((value) =&gt; value)</code> above code</p>
  <p>I checked the signature on Future is Future then(FutureOr action(T value), {Function onError}). However, I did not clearly understand why &quot;return dynamicHello()&quot; works normally if I make <code>Future&lt;String&gt; dynamicHello()</code>.</p>