title: How to upcast to an option type?
body: <p>How do I create <code>some string</code> from a string?</p>
  
  <p>I'm going through the <a href="https://github.com/ChrisMarinos/FSharpKoans" rel="nofollow noreferrer">F# Koans tutorials</a>, and am I stuck on this one:</p>
  
  <pre><code>[&lt;Koan&gt;]
  let ProjectingValuesFromOptionTypes() =
      let chronoTrigger = { Name = "Chrono Trigger"; Platform = "SNES"; Score = Some 5 }
      let halo = { Name = "Halo"; Platform = "Xbox"; Score = None }
  
      let decideOn game =
  
          game.Score
          |&gt; Option.map (fun score -&gt; if score &gt; 3 then "play it" else "don't play")
  
      //HINT: look at the return type of the decide on function
      AssertEquality (decideOn chronoTrigger) (Some "play it")
      AssertEquality (decideOn halo) (Some "don't play")
  </code></pre>
  
  <p>the exception i get is:</p>
  
  <pre><code>You have not yet reached enlightenment ...
    Expected: null
    But was:  &lt;Some(don't play)&gt;
  </code></pre>
  
  <p>How do I upcast a string to be of type <code>option string</code>?</p>