If you want two different constructors in a derived class to call into two different constructors in a base class, then you must use the 'explicit' class syntax, where there are no parens after the type/inherit declaration, and instance variables use 'val'.
http://msdn.microsoft.com/en-us/library/dd469494(VS.100).aspx
Here's an example:
[<Serializable>]
[<XmlRoot("dictionary")>]
type SerializableDictionary<'TKey, 'TValue> =
inherit Dictionary<'TKey, 'TValue>
val anotherInstanceVar : int
new(info: SerializationInfo, context: StreamingContext) = {inherit Dictionary<'TKey, 'TValue>(info,context); anotherInstanceVar = 4}
new() = {inherit Dictionary<'TKey, 'TValue>(); anotherInstanceVar = 0}
This is one of the very few cases where you need to use this 'explicit' syntax rather than the preferred syntax involving a primary constructor.