Tables vs fenced code blocks, when is something “common”?

Just to clarify, are we creating a CommonMark core spec based on

(1) John Gruber’s Markdown,
(2) Basic implementations of John Gruber’s Markdown,
(3) As many Markdown versions as possible, including extended flavors like GitHub, Markdown Extra, and Multimarkdown,
(4) Other?

If (1) or (2), it seems to me that tables and fences – useful as they are – should be in extensions only.

If (3), then core could include the most compatible syntaxes (simple pipe-type tables and triple-backtick fences), with extensions for more flexible syntax and advanced features.