title: Why do you have to mark a class with the attribute [serializable]?
body: <p>Seeing as you can convert any document to a byte array and save it to disk, and then rebuild the file to its original form (as long as you have meta data for its filename etc.).</p>
  
  <p>Why do you have to mark a class with <code>[Serializable]</code> etc?  Is that just the same idea, "meta data" type information so when you cast the object to its class things are mapped properly?</p>